﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SmartMathLibrary.Geometry
{
    /// <summary>
    /// Describes types of geometric objects.
    /// </summary>
    public enum GeometrieType
    {
        /// <summary>
        /// Describes the geometric type arc.
        /// </summary>
        Arc = 0,
        /// <summary>
        /// Describes the geometric type line.
        /// </summary>
        Line = 1,
        /// <summary>
        /// Describes the geometric type point.
        /// </summary>
        Point = 2,
        /// <summary>
        /// Describes the geometric type polygon.
        /// </summary>
        Polygon = 3,
        /// <summary>
        /// Describes the geometric type polyline.
        /// </summary>
        Polyline = 4,
        /// <summary>
        /// Describes the geometric type rectangle.
        /// </summary>
        Rectangle = 5,
        /// <summary>
        /// Describes the geometric type triangle.
        /// </summary>
        Triangle = 6
    }

    /// <summary>
    /// Describes a kind of dimension.
    /// </summary>
    public enum Dimension
    {
        /// <summary>
        /// Describes the second dimension 2D.
        /// </summary>
        TwoDimensional = 0,
        /// <summary>
        /// Describes the third dimension 3D.
        /// </summary>
        ThreeDimensional = 1,
        /// <summary>
        /// Describes the dimensionless kind.
        /// </summary>
        Dimensionless = 2
    }

    /// <summary>
    /// This class is an abstract group for geometric object.
    /// </summary>
    [Serializable]
    public abstract class GeometricObject
    {
    }
}